home *** CD-ROM | disk | FTP | other *** search
- /*
-
- 01234567890123456789012345678901234567890123456789012345678901234567890123456789--------------------------------------------------------------------------------| xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxx||xxxxxxxxxxxxxx||xxxxxxxxxxxxxx||xxxxxxxxxxxxxx||xxxxxxxxxxxxxx| 条件くりあっ☆ 見たいなぁ○ 印刷しませう(^_^) こぴっちゃお(^_^; またねっ♪
- もどろ~ねっ☆
- --------------------------------------------------------------------------------| お好みのメニュ-をどうぞ | なにがいい?
- |xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxx|--------------------------------------------------------------------------------| 作 品 名 || 作 者 名 ||TMBD|--------------------------------------------------------------------------------|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||☆☆☆☆||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||☆☆☆☆|
- 0 1 2 3 4 5 6 7
- 01234567890123456789012345678901234567890123456789012345678901234567890123456789| 作 品 名 || 作 者 名 | た・い・と・る つくったひと☆
- --------------------------------------------------------------------------------|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|--------------------------------------------------------------------------------| 0123 プログラムがあるよ | 前 項 | | 次 項 |
- 作品あるよっ♪ まえ うしろ
- --------------------------------------------------------------------------------
- *********************/
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <mos.h>
- #include "keyword.h"
- #include "graphic.h"
- #include "scrn.h"
- #include "coldef.h"
- #include "bitmap.h"
-
- #define MSG_X (38*8)
- #define MSG_Y 4
- #define MSG_X1 (MSG_X-4)
- #define MSG_Y1 (MSG_Y-2)
- #define MSG_X2 (MSG_X+41*8+3)
- #define MSG_Y2 (MSG_Y+17)
-
- #define CLER_X (1*8)
- #define CLER_Y 26
- #define CLER_X1 (CLER_X-4)
- #define CLER_Y1 (CLER_Y-2)
- #define CLER_X2 (CLER_X+14*8+3)
- #define CLER_Y2 (CLER_Y+17)
-
- #define LIST_X (17*8)
- #define LIST_Y 26
- #define LIST_X1 (LIST_X-4)
- #define LIST_Y1 (LIST_Y-2)
- #define LIST_X2 (LIST_X+14*8+3)
- #define LIST_Y2 (LIST_Y+17)
-
- #define PRNT_X (33*8)
- #define PRNT_Y 26
- #define PRNT_X1 (PRNT_X-4)
- #define PRNT_Y1 (PRNT_Y-2)
- #define PRNT_X2 (PRNT_X+14*8+3)
- #define PRNT_Y2 (PRNT_Y+17)
-
- #define INST_X (49*8)
- #define INST_Y 26
- #define INST_X1 (INST_X-4)
- #define INST_Y1 (INST_Y-2)
- #define INST_X2 (INST_X+14*8+3)
- #define INST_Y2 (INST_Y+17)
-
- #define EXIT_X (65*8)
- #define EXIT_Y 26
- #define EXIT_X1 (EXIT_X-4)
- #define EXIT_Y1 (EXIT_Y-2)
- #define EXIT_X2 (EXIT_X+14*8+3)
- #define EXIT_Y2 (EXIT_Y+17)
-
- #define KEY_X 8
- #define KEY_Y 69
- #define KEY_L (18*8)
- #define KEY_S (20*8)
- #define KEY_POS_X(n) ((n%4)*KEY_S+KEY_X)
- #define KEY_POS_Y(n) ((n/4)*23+KEY_Y)
-
- #define PRG_NAME_X 8
- #define PRG_MAKE_X (47*8)
- #define PRG_BITS_X (71*8)
- #define PRG_NAME_L (44*8+6)
- #define PRG_MAKE_L (31*8+6)
- #define PRG_BITS_L (8*8)
- #define PRG_Y 252
- #define PRG_POS_Y(n) ((n)*23+PRG_Y)
-
- #define MSG2_X (1*8)
- #define MSG2_Y 460
-
- #define BACK_X (29*8)
- #define BACK_Y 460
- #define BACK_X1 (BACK_X-4)
- #define BACK_Y1 (BACK_Y-2)
- #define BACK_X2 (BACK_X+8*8+3)
- #define BACK_Y2 (BACK_Y+17)
-
- #define NEXT_X (39*8)
- #define NEXT_Y 460
- #define NEXT_X1 (NEXT_X-4)
- #define NEXT_Y1 (NEXT_Y-2)
- #define NEXT_X2 (NEXT_X+8*8+3)
- #define NEXT_Y2 (NEXT_Y+17)
-
- static int sw_flg[10];
-
- int MOS_stei(int x1,int y1,int x2,int y2)
- {
- int stat=0;
- int cl,sw,x,y;
-
- for ( ; ; ) {
- MOS_rdpos(&sw,&x,&y);
- if ( x >= x1 && x <= x2 && y >= y1 && y <= y2 )
- cl = 1;
- else
- cl = 0;
-
- switch(stat) {
- case 0:
- if ( cl == 0 || sw == 0 )
- return 0;
- MOS_disp(OFF);
- DSP_box(x1,y1,x2,y2,8,M_XOR);
- MOS_disp(ON);
- stat = 1;
- break;
-
- case 1:
- if ( sw == 0 || cl == 0 ) {
- MOS_disp(OFF);
- DSP_box(x1,y1,x2,y2,8,M_XOR);
- MOS_disp(ON);
- if ( sw == 0 && cl != 0 )
- return 1;
- else
- return 0;
- }
- break;
- }
- }
- }
- int MENU_no(int rc)
- {
- int i,sw,x,y;
- static struct {
- int x1,y1,x2,y2;
- int no;
- int *sw;
- } event_tbl[]={
- { CLER_X1,CLER_Y1,CLER_X2,CLER_Y2,CLER_NO,&sw_flg[0] },
- { LIST_X1,LIST_Y1,LIST_X2,LIST_Y2,LIST_NO,&sw_flg[1] },
- { PRNT_X1,PRNT_Y1,PRNT_X2,PRNT_Y2,PRNT_NO,&sw_flg[2] },
- { INST_X1,INST_Y1,INST_X2,INST_Y2,INST_NO,&sw_flg[3] },
- { EXIT_X1,EXIT_Y1,EXIT_X2,EXIT_Y2,EXIT_NO,&sw_flg[4] },
- { BACK_X1,BACK_Y1,BACK_X2,BACK_Y2,BACK_NO,&sw_flg[5] },
- { NEXT_X1,NEXT_Y1,NEXT_X2,NEXT_Y2,NEXT_NO,&sw_flg[6] },
- { 0,0,0,0,NON_NO }
- };
-
- MOS_rdpos(&sw,&x,&y);
- if ( sw == 0 )
- return NON_NO;
-
- for ( i = 0 ; event_tbl[i].no != NON_NO ; i++ ) {
- if ( *event_tbl[i].sw != 0 &&
- MOS_stei(event_tbl[i].x1,event_tbl[i].y1,
- event_tbl[i].x2,event_tbl[i].y2) != 0 )
- return event_tbl[i].no;
- }
-
- if ( rc == 0 )
- return NON_NO;
-
- for ( i = 0 ; i < 28 ; i++ ) {
- if ( x >= (KEY_POS_X(i)-4) && y >= (KEY_POS_Y(i)-2) &&
- x <= (KEY_POS_X(i)+KEY_L+3) && y <= (KEY_POS_Y(i)+17) )
- return (KEY_NO + i);
- }
-
- for ( i = 0 ; i < 9 ; i++ ) {
- if ( prg_tbl[i] != NULL &&
- ( MOS_stei(PRG_NAME_X-4,PRG_POS_Y(i)-2,
- PRG_NAME_X+PRG_NAME_L+3,PRG_POS_Y(i)+17) != 0 ||
- MOS_stei(PRG_MAKE_X-4,PRG_POS_Y(i)-2,
- PRG_MAKE_X+PRG_MAKE_L+3,PRG_POS_Y(i)+17) != 0 ||
- MOS_stei(PRG_BITS_X-4,PRG_POS_Y(i)-2,
- PRG_BITS_X+PRG_BITS_L+3,PRG_POS_Y(i)+17) != 0 ) )
- return (PRG_NO+i);
- }
-
- return NON_NO;
- }
- void KEY_disp(int no)
- {
- MOS_disp(OFF);
- DSP_box(KEY_POS_X(no)-4,KEY_POS_Y(no)-2,
- KEY_POS_X(no)+KEY_L+3,KEY_POS_Y(no)+17,
- 8,M_XOR);
- MOS_disp(ON);
- }
- void KEY_putstr(int no,char *key)
- {
- MOS_disp(OFF);
- gprintf(KEY_POS_X(no),KEY_POS_Y(no),CHR_COL,KEY_COL,"%-18.18s",key);
- MOS_disp(ON);
- }
- void PRG_disp(int no,char *prog,char *make,int bits)
- {
- MOS_disp(OFF);
- gprintf(PRG_NAME_X,PRG_POS_Y(no),CHR_COL,PRG_COL,"%-44.44s",prog);
- gprintf(PRG_MAKE_X,PRG_POS_Y(no),CHR_COL,PRG_COL,"%-31.31s",make);
- /*****************************************************************
- gprintf(PRG_BITS_X,PRG_POS_Y(no),ACT_COL,PRG_COL,"%s%s%s%s",
- (bits & 1) ? "☆":" ",
- (bits & 2) ? "☆":" ",
- (bits & 4) ? "☆":" ",
- (bits & 8) ? "☆":" ");
- ********************************************************************/
- MOS_disp(ON);
- }
- void MSG_disp(char *form,...)
- {
- va_list arg;
- char tmp[256];
-
- va_start(arg,form);
- vsprintf((char *)tmp,form,arg);
- MOS_disp(OFF);
- gputs(MSG_X,MSG_Y,CHR_COL,MENU_COL,tmp);
- MOS_disp(ON);
- va_end(arg);
- }
- void MSG2_disp(char *form,...)
- {
- va_list arg;
- char tmp[256];
-
- va_start(arg,form);
- vsprintf((char *)tmp,form,arg);
- MOS_disp(OFF);
- gputs(MSG2_X,MSG2_Y,CHR_COL,PRG_COL,tmp);
- MOS_disp(ON);
- va_end(arg);
- }
- /***********************************************
- void MENU_mask(int no,int sw)
- {
- static struct {
- int x,y;
- int back;
- char *str;
- int *sw;
- } menu_tbl[]={
- { CLER_X,CLER_Y,MENU_COL," CANCEL ",&sw_flg[0] },
- { LIST_X,LIST_Y,MENU_COL," LOOK ",&sw_flg[1] },
- { PRNT_X,PRNT_Y,MENU_COL," PRINT ",&sw_flg[2] },
- { INST_X,INST_Y,MENU_COL," INSTALL ",&sw_flg[3] },
- { EXIT_X,EXIT_Y,MENU_COL," EXIT ",&sw_flg[4] },
- { BACK_X,BACK_Y,PRG_COL, " BACK " ,&sw_flg[5] },
- { NEXT_X,NEXT_Y,PRG_COL, " NEXT " ,&sw_flg[6] },
- { CLER_X,CLER_Y,MENU_COL," CANCEL ",&sw_flg[0] },
- { LIST_X,LIST_Y,MENU_COL," LOOK ",&sw_flg[1] },
- };
-
- MOS_disp(OFF);
- gputs(menu_tbl[no].x,menu_tbl[no].y,
- sw != 0 ? XCHR_COL:CHR_COL, menu_tbl[no].back,
- menu_tbl[no].str);
- MOS_disp(ON);
- *menu_tbl[no].sw = sw;
- }
- *********************************************************/
- void MENU_mask(int no,int sw)
- {
- static struct {
- int x,y;
- int back;
- char *str;
- int *sw;
- } menu_tbl[]={
- { CLER_X+28,CLER_Y+3,MENU_COL,cancel_img,&sw_flg[0] },
- { LIST_X+36,LIST_Y+3,MENU_COL,look_img,&sw_flg[1] },
- { PRNT_X+34,PRNT_Y+3,MENU_COL,print_img,&sw_flg[2] },
- { INST_X+28,INST_Y+3,MENU_COL,install_img,&sw_flg[3] },
- { EXIT_X+38,EXIT_Y+3,MENU_COL,exit_img,&sw_flg[4] },
- { BACK_X+14, BACK_Y+3,PRG_COL, back_img,&sw_flg[5] },
- { NEXT_X+14, NEXT_Y+3,PRG_COL, next_img,&sw_flg[6] },
- { CLER_X+28,CLER_Y+3,MENU_COL,cancel_img,&sw_flg[0] },
- { LIST_X+36,LIST_Y+3,MENU_COL,look_img,&sw_flg[1] },
- };
-
- MOS_disp(OFF);
- DSP_strimg(menu_tbl[no].str,
- menu_tbl[no].x,menu_tbl[no].y,
- sw != 0 ? XCHR_COL:CHR_COL, menu_tbl[no].back, M_PSET);
- MOS_disp(ON);
- *menu_tbl[no].sw = sw;
- }
- void SCRN_init(void)
- {
- int i;
-
- MOS_disp(OFF);
- DSP_rbox(0,0,639,47,LINE_COL,MENU_COL,M_PSET); /* Main Menu Back */
- DSP_rbox(0,47,639,230,LINE_COL,KEY_COL,M_PSET); /* KeyWord Menu Back */
- DSP_rbox(0,230,639,479,LINE_COL,PRG_COL,M_PSET); /* Prog Menu Back */
-
- DSP_wbox(CLER_X1,CLER_Y1,CLER_X2,CLER_Y2,LINE_COL,MENU_COL,M_PSET);
- DSP_wbox(LIST_X1,LIST_Y1,LIST_X2,LIST_Y2,LINE_COL,MENU_COL,M_PSET);
- DSP_wbox(PRNT_X1,PRNT_Y1,PRNT_X2,PRNT_Y2,LINE_COL,MENU_COL,M_PSET);
- DSP_wbox(INST_X1,INST_Y1,INST_X2,INST_Y2,LINE_COL,MENU_COL,M_PSET);
- DSP_wbox(EXIT_X1,EXIT_Y1,EXIT_X2,EXIT_Y2,LINE_COL,MENU_COL,M_PSET);
-
- DSP_wbox(BACK_X1,BACK_Y1,BACK_X2,BACK_Y2,LINE_COL,PRG_COL,M_PSET);
- DSP_wbox(NEXT_X1,NEXT_Y1,NEXT_X2,NEXT_Y2,LINE_COL,PRG_COL,M_PSET);
-
- for ( i = 0 ; i < 28 ; i++ ) {
- DSP_wbox(KEY_POS_X(i)-4,KEY_POS_Y(i)-2,
- KEY_POS_X(i)+KEY_L+3,KEY_POS_Y(i)+17,
- LINE_COL,KEY_COL,M_PSET);
- }
- for ( i = 0 ; i < 9 ; i++ ) {
- DSP_wbox(PRG_NAME_X-4,PRG_POS_Y(i)-2,
- PRG_NAME_X+PRG_NAME_L+3,PRG_POS_Y(i)+17,
- LINE_COL,PRG_COL,M_PSET);
- DSP_wbox(PRG_MAKE_X-4,PRG_POS_Y(i)-2,
- PRG_MAKE_X+PRG_MAKE_L+3,PRG_POS_Y(i)+17,
- LINE_COL,PRG_COL,M_PSET);
- /**********************************************************
- DSP_wbox(PRG_BITS_X-4,PRG_POS_Y(i)-2,
- PRG_BITS_X+PRG_BITS_L+3,PRG_POS_Y(i)+17,
- LINE_COL,PRG_COL,M_PSET);
- ***********************************************************/
- }
-
- /********
- DSP_msg("Free Software Collection Helper",
- 8,4,5,ERR_COL,MENU_COL,M_PSET);
- gputs((35*8),50,CHR_COL,KEY_COL,"MEMU SELECT");
- gputs((16*8),232,CHR_COL,PRG_COL,"TITLE");
- gputs((57*8),232,CHR_COL,PRG_COL,"WRITER");
- *********/
-
- DSP_strimg(helper_img,
- 8, 6, ERR_COL, MENU_COL, M_PSET);
- DSP_strimg(menu_img,
- 35 * 8, 53, CHR_COL, KEY_COL, M_PSET);
- DSP_strimg(title_img,
- 20 * 8, 235, CHR_COL, PRG_COL, M_PSET);
- DSP_strimg(writer_img,
- 60 * 8, 235, CHR_COL, PRG_COL, M_PSET);
-
- /******************************************
- gputs((71*8),242,XPRG_COL,PRG_COL,"TMBD");
- *******************************************/
- MOS_disp(ON);
-
- MENU_mask(CLER_NO,OFF);
- MENU_mask(LIST_NO,OFF);
- MENU_mask(PRNT_NO,OFF);
- MENU_mask(INST_NO,OFF);
- MENU_mask(EXIT_NO,OFF);
- MENU_mask(BACK_NO,OFF);
- MENU_mask(NEXT_NO,OFF);
- }